This invention relates to a data synchronizer for music data codes and, more particularly, to a data synchronizer for synchronously distributing music data codes different in format from other music data codes, a method used therein and an ensemble system using the same.
Various kinds of information storage medium are used for storing music data information representative of pieces of music. However, the pieces of music data information are not stored in data codes formatted in a sole format. When a compact disk is designed to reproduce a piece of music through a compact disc player, pieces of music data information to be stored in a compact disc are stored in data codes, which is formatted in a certain format. The certain format is hereinbelow referred to as xe2x80x9caudio data formatxe2x80x9d. Accordingly, the data codes in the audio data format are referred to as xe2x80x9caudio data codesxe2x80x9d. On the other hand, when a compact disc is designed to reproduce a piece of music through an electronic keyboard, the pieces of music data information are, by way of example, stored in data codes formatted in accordance with the MIDI (Musical Instrument Digital Interface) standards. The format defined in the MIDI standards is hereinbelow referred to as xe2x80x9cMIDI formatxe2x80x9d, and the data codes in the MIDI format are referred to as xe2x80x9cMIDI data codesxe2x80x9d.
The MIDI data codes are not always processed through the electronic keyboard for reproducing a piece of music. The piece of music may be reproduced through an automatic player piano. The automatic player piano is a kind of composite keyboard musical instrument between an acoustic piano and an electronic player system. The electronic player system comprises an array of solenoid-operated key actuators and a controller. The array of solenoid-operated key actuators is provided under the keyboard, and the solenoid-operated key actuators are selectively energized by the controller. The controller is assumed to energize a solenoid-operated key actuator. The solenoid-operated key actuator upwardly pushes the rear portion of the associated black/white key, and gives rise to rotation of the associated black/white key without any fingering. The black/white key actuates the associated action, and the action escapes from the associated hammer. The hammer starts free rotation at the escape, and strikes the associated strings. Thus, the automatic player system plays a tune on the acoustic piano without any fingering of human pianist. A set of MIDI data codes is loaded into the controller before initiation of the performance. The controller determines what keys are to be actuated and when the key motion is to be initiated, and selectively energizes the solenoid-operated key actuators for moving the keys.
A set of MIDI data codes may be loaded into a keyboard for practical use. The keyboard for practical use has an array of light emitting elements on the black/white keys, and a controller notifies black/white keys to be depressed to a trainee by radiating light from the associated light emitting elements immediately before the time to depress the black/white keys. The controller also determines what keys are to be depressed and when the key motion is to be initiated on the basis of the set of MIDI data codes. Thus, a set of MIDI data codes is available for purposes relevant to the performance.
The MIDI data codes are distributed to plural musical instruments through the channels respectively assigned to the musical instruments. This means that a set of MIDI data codes is available for an ensemble among plural musical instruments. However, it is hard to achieve an ensemble between a musical instrument designed for the MIDI data codes and a sound reproducing apparatus such as the compact disc player. When a user reproduces a piece of music in ensemble between the musical instrument and the sound reproducing apparatus by all means, he or she needs to prepare a compact disc storing the MIDI data codes and another compact disc storing the audio data codes, and instructs the musical instrument and the sound reproducing apparatus concurrently to start the playback. However, the timing to start is to be given by the user. Such a manually achieved synchronization is complicated and incorrect.
A composite information storage medium has been proposed. Both of the audio data codes and the MIDI data codes are stored in the composite information storage medium. The set of audio data codes represents a piece of music, and the set of MIDI data codes also represents the piece of music. The ensemble is achieved by means of an exclusive data distributor. The exclusive data distributor synchronously reads out the audio data codes and the MIDI data codes, and distributes the audio data codes and the MIDI data codes to a sound reproducer and a musical instrument. With the audio data codes and the MIDI data codes synchronously distributed by the exclusive data distributor, an ensemble is achieved between the sound reproducer and the musical instrument such as the automatic player piano. The prior art ensemble system, i.e., the combination among the exclusive data distributor, the sound reproducer and the automatic player piano makes the quality of ensemble superior than the ensemble reproduced by the prior art sound reproducer, because the acoustic tones take a part of the ensemble.
A problem is encountered in the prior art ensemble system in that the composite information storage medium is required for the ensemble. However, most of compact discs commercially available in the music market only store the audio data codes. Although floppy discs storing the MIDI data codes are sold in the music market, it is rare to find a compact disc, which stores both of the audio data codes and the MIDI data codes for the prior art ensemble system.
It is therefore an important object of the present invention to provide a data synchronizer, which supplies music data codes different in format from other music data codes to a destination different from a destination of the other music data codes without a composite data source where both music data codes are stored.
It is another important object of the present invention to provide a method which is used in the data synchronizer.
It is also an important object of the present invention to provide an ensemble system, which distributes plural sorts of music data codes different in format and stored in plural data sources to appropriate destinations.
In accordance with one aspect of the present invention, there is provided a data synchronizer for transmitting a first sort of music data codes to a first sound source synchronously with a playback through a second sound source on the basis of a second sort of music data codes, and the data synchronizer comprises a memory storing the first sort of music data codes representative of pieces of music data information defining a plurality of first tones of a music passage to be produced and first pieces of timing data information defining first times to produce the first tones in accordance with a first rule and at least second pieces of timing data information stored in the second sort of music data codes and defining second times to produce a plurality of second tones of the music passage in accordance with a second rule different from the first rule, a mapping means having third times produced from the first times and defined in accordance with the second rule for mapping at least selected ones of the music data codes of the second sort to the certain music data codes of the first sort and a transmitting means for transferring the music data codes of the first sort to the first sound source in such a manner that the first tones corresponding to the certain music data codes are produced concurrently with the second tones corresponding to the at least selected ones.
In accordance with another aspect of the present invention, there is provided a method for transmitting music data codes of a first sort to a first sound source synchronously with a playback through a second sound source on the basis of music data codes of a second sort, and the method comprises the steps of a) acquiring the music data codes of the first sort representative of first pieces of music data information defining a plurality of first tones of a music passage and first pieces of timing data information defining first times to produce the first tones in accordance with a first rule and at least second pieces of timing data information stored in the music data codes of the second sort and defining second times to produce a plurality of second tones of the music passage in accordance with a second rule different from the first rule, b) converting the first times to third times defined in accordance with the second rule, c) instructing the second sound source to start the playback and d) transferring the music data codes of the first sort to the first sound source in such a manner that the first tones corresponding to the certain music data codes are produced concurrently with the second tones corresponding to the at least selected ones.
In accordance with yet another aspect of the present invention, there is provided an ensemble system comprising a first sound source for producing first tones of a music passage on the basis of a first sort of music data codes, a second sound source for producing second tones of the music passage on the basis of a second sort of music data codes, and a data synchronizer including a memory storing the first sort of music data codes representative of pieces of music data information defining a plurality of first tones of a music passage to be produced and first pieces of timing data information defining first times to produce the first tones in accordance with a first rule and at least second pieces of timing data information stored in the second sort of music data codes and defining second times to produce a plurality of second tones of the music passage in accordance with a second rule different from the first rule, a mapping means having third times produced from the first times and defined in accordance with the second rule for mapping at least selected ones of the music data codes of the second sort to the certain music data codes of the first sort and a transmitting means for transferring the music data codes of the first sort to the first sound source in such a manner that the first tones corresponding to the certain music data codes are produced concurrently with the second tones corresponding to the at least selected ones.